package edu.bbk.muc.lifetracker;

import edu.bbk.muc.lifetracker.common.Event;
import edu.bbk.muc.lifetracker.common.GlobalEvent;

/**
 * Classes which would like to receive new events after they are built by
 * {@link GlobalEvent} must implement this interface and/or provide chained
 * receiver to other implementation.
 */
public interface EventReceiver {
  /**
   * Each event receiver can have a chained receiver, which will receive events
   * after this receiver finishes processing them.
   */
  void addChainedEventReceiver(EventReceiver next);

  void onEventReady(Event event);
}
